package com.shijie.sjoj.model.utils;

import java.util.Arrays;
import java.util.Objects;

/**
 * 数组工具类
 *
 * @author ZSJ
 */
public class ArrayUtils {

    /**
     * 判断数组是否为空数组（没有任何有效值）
     *
     * @param arr Object[]
     * @return boolean
     */
    public static boolean isEmpty(Object[] arr) {
        return null == arr || arr.length == 0 || itemsAllNull(arr);
    }

    public static boolean notEmpty(Object[] arr) {
        return !isEmpty(arr);
    }

    /**
     * 判断数组元素是否全为null
     *
     * @param arr Object[]
     * @return boolean
     */
    private static boolean itemsAllNull(Object[] arr) {
        return Arrays.stream(arr).filter(Objects::nonNull).toArray().length == 0;
    }


}